home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 98 / CD-ROM 98.iso / infantil / tuxmath / tuxmath-2001.09.07-win32-installer.exe / src / title.s < prev    next >
Encoding:
Text File  |  2002-08-23  |  17.3 KB  |  980 lines

  1.     .file    "title.c"
  2.  # GNU C version 2.95.3-5 (mingw special) (mingw32) compiled by GNU C version 2.95.3-5 (mingw special).
  3.  # options passed:  -fverbose-asm
  4.  # options enabled:  -fpeephole -ffunction-cse -fkeep-static-consts
  5.  # -freg-struct-return -fsjlj-exceptions -fcommon -fverbose-asm
  6.  # -fgnu-linker -fgcc-struct -fargument-alias -fident -m80387 -mhard-float
  7.  # -mno-soft-float -mieee-fp -mfp-ret-in-387 -mschedule-prologue
  8.  # -mstack-arg-probe -mcpu=i386 -march=pentium
  9.  
  10. gcc2_compiled.:
  11. ___gnu_compiled_c:
  12. .data
  13.     .align 32
  14. _image_filenames:
  15.     .long LC0
  16.     .long LC1
  17.     .long LC2
  18.     .long LC3
  19.     .long LC4
  20.     .long LC5
  21.     .long LC6
  22.     .long LC7
  23.     .long LC8
  24.     .long LC9
  25.     .long LC10
  26.     .long LC11
  27.     .long LC12
  28.     .long LC13
  29.     .long LC14
  30.     .long LC15
  31.     .long LC16
  32.     .long LC17
  33.     .long LC18
  34.     .long LC19
  35.     .long LC20
  36.     .long LC21
  37.     .long LC22
  38.     .long LC23
  39.     .long LC24
  40.     .long LC25
  41.     .long LC26
  42.     .long LC27
  43.     .long LC28
  44.     .long LC29
  45.     .long LC30
  46.     .long LC31
  47.     .long LC32
  48.     .long LC33
  49.     .long LC34
  50.     .long LC35
  51.     .long LC36
  52.     .long LC37
  53.     .long LC38
  54.     .long LC39
  55.     .long LC40
  56.     .long LC41
  57.     .long LC42
  58.     .long LC43
  59.     .long LC44
  60.     .long LC45
  61.     .long LC46
  62.     .long LC47
  63.     .long LC48
  64.     .long LC49
  65.     .long LC50
  66.     .long LC51
  67.     .long LC52
  68.     .long LC53
  69.     .long LC54
  70.     .long LC55
  71.     .long LC56
  72.     .long LC57
  73.     .long LC58
  74.     .long LC59
  75.     .long LC60
  76.     .long LC61
  77.     .long LC62
  78.     .long LC63
  79.     .long LC64
  80.     .long LC65
  81.     .long LC66
  82.     .long LC67
  83.     .long LC68
  84.     .long LC69
  85.     .long LC70
  86.     .long LC71
  87.     .long LC72
  88. .text
  89.     .align 32
  90. LC72:
  91.     .ascii "hhh/images/status/gameover.png\0"
  92. LC71:
  93.     .ascii "hhh/images/status/numbers.png\0"
  94. LC70:
  95.     .ascii "hhh/images/status/score.png\0"
  96. LC69:
  97.     .ascii "hhh/images/status/wave.png\0"
  98. LC68:
  99.     .ascii "hhh/images/tux/tux-fist2.png\0"
  100. LC67:
  101.     .ascii "hhh/images/tux/tux-fist1.png\0"
  102. LC66:
  103.     .ascii "hhh/images/tux/tux-sit.png\0"
  104. LC65:
  105.     .ascii "hhh/images/tux/tux-yes2.png\0"
  106. LC64:
  107.     .ascii "hhh/images/tux/tux-yes1.png\0"
  108. LC63:
  109.     .ascii "hhh/images/tux/tux-yay2.png\0"
  110. LC62:
  111.     .ascii "hhh/images/tux/tux-yay1.png\0"
  112. LC61:
  113.     .ascii "hhh/images/tux/tux-yipe.png\0"
  114. LC60:
  115.     .ascii "hhh/images/tux/tux-drat.png\0"
  116. LC59:
  117.     .ascii "hhh/images/tux/tux-relax2.png\0"
  118. LC58:
  119.     .ascii "hhh/images/tux/tux-relax1.png\0"
  120.     .align 32
  121. LC57:
  122.     .ascii "hhh/images/tux/tux-console4.png\0"
  123.     .align 32
  124. LC56:
  125.     .ascii "hhh/images/tux/tux-console3.png\0"
  126.     .align 32
  127. LC55:
  128.     .ascii "hhh/images/tux/tux-console2.png\0"
  129.     .align 32
  130. LC54:
  131.     .ascii "hhh/images/tux/tux-console1.png\0"
  132. LC53:
  133.     .ascii "hhh/images/tux/console.png\0"
  134. LC52:
  135.     .ascii "hhh/images/status/keypad.png\0"
  136.     .align 32
  137. LC51:
  138.     .ascii "hhh/images/status/demo-small.png\0"
  139. LC50:
  140.     .ascii "hhh/images/status/demo.png\0"
  141. LC49:
  142.     .ascii "hhh/images/status/paused.png\0"
  143. LC48:
  144.     .ascii "hhh/images/status/lednums.png\0"
  145. LC47:
  146.     .ascii "hhh/images/status/nums.png\0"
  147.     .align 32
  148. LC46:
  149.     .ascii "hhh/images/comets/cometex2.png\0"
  150.     .align 32
  151. LC45:
  152.     .ascii "hhh/images/comets/cometex1.png\0"
  153. LC44:
  154.     .ascii "hhh/images/comets/comet3.png\0"
  155. LC43:
  156.     .ascii "hhh/images/comets/comet2.png\0"
  157. LC42:
  158.     .ascii "hhh/images/comets/comet1.png\0"
  159. LC41:
  160.     .ascii "hhh/images/cities/shields.png\0"
  161.     .align 32
  162. LC40:
  163.     .ascii "hhh/images/cities/cdead-red.png\0"
  164.     .align 32
  165. LC39:
  166.     .ascii "hhh/images/cities/csplode-red-5.png\0"
  167.     .align 32
  168. LC38:
  169.     .ascii "hhh/images/cities/csplode-red-4.png\0"
  170.     .align 32
  171. LC37:
  172.     .ascii "hhh/images/cities/csplode-red-3.png\0"
  173.     .align 32
  174. LC36:
  175.     .ascii "hhh/images/cities/csplode-red-2.png\0"
  176.     .align 32
  177. LC35:
  178.     .ascii "hhh/images/cities/csplode-red-1.png\0"
  179.     .align 32
  180. LC34:
  181.     .ascii "hhh/images/cities/city-red.png\0"
  182.     .align 32
  183. LC33:
  184.     .ascii "hhh/images/cities/cdead-orange.png\0"
  185.     .align 32
  186. LC32:
  187.     .ascii "hhh/images/cities/csplode-orange-5.png\0"
  188.     .align 32
  189. LC31:
  190.     .ascii "hhh/images/cities/csplode-orange-4.png\0"
  191.     .align 32
  192. LC30:
  193.     .ascii "hhh/images/cities/csplode-orange-3.png\0"
  194.     .align 32
  195. LC29:
  196.     .ascii "hhh/images/cities/csplode-orange-2.png\0"
  197.     .align 32
  198. LC28:
  199.     .ascii "hhh/images/cities/csplode-orange-1.png\0"
  200.     .align 32
  201. LC27:
  202.     .ascii "hhh/images/cities/city-orange.png\0"
  203.     .align 32
  204. LC26:
  205.     .ascii "hhh/images/cities/cdead-green.png\0"
  206.     .align 32
  207. LC25:
  208.     .ascii "hhh/images/cities/csplode-green-5.png\0"
  209.     .align 32
  210. LC24:
  211.     .ascii "hhh/images/cities/csplode-green-4.png\0"
  212.     .align 32
  213. LC23:
  214.     .ascii "hhh/images/cities/csplode-green-3.png\0"
  215.     .align 32
  216. LC22:
  217.     .ascii "hhh/images/cities/csplode-green-2.png\0"
  218.     .align 32
  219. LC21:
  220.     .ascii "hhh/images/cities/csplode-green-1.png\0"
  221.     .align 32
  222. LC20:
  223.     .ascii "hhh/images/cities/city-green.png\0"
  224.     .align 32
  225. LC19:
  226.     .ascii "hhh/images/cities/cdead-blue.png\0"
  227.     .align 32
  228. LC18:
  229.     .ascii "hhh/images/cities/csplode-blue-5.png\0"
  230.     .align 32
  231. LC17:
  232.     .ascii "hhh/images/cities/csplode-blue-4.png\0"
  233.     .align 32
  234. LC16:
  235.     .ascii "hhh/images/cities/csplode-blue-3.png\0"
  236.     .align 32
  237. LC15:
  238.     .ascii "hhh/images/cities/csplode-blue-2.png\0"
  239.     .align 32
  240. LC14:
  241.     .ascii "hhh/images/cities/csplode-blue-1.png\0"
  242.     .align 32
  243. LC13:
  244.     .ascii "hhh/images/cities/city-blue.png\0"
  245.     .align 32
  246. LC12:
  247.     .ascii "hhh/images/status/cmd_quit.png\0"
  248.     .align 32
  249. LC11:
  250.     .ascii "hhh/images/status/cmd_credits.png\0"
  251.     .align 32
  252. LC10:
  253.     .ascii "hhh/images/status/cmd_options.png\0"
  254.     .align 32
  255. LC9:
  256.     .ascii "hhh/images/status/cmd_play.png\0"
  257.     .align 32
  258. LC8:
  259.     .ascii "hhh/images/status/tux_helmet3.png\0"
  260.     .align 32
  261. LC7:
  262.     .ascii "hhh/images/status/tux_helmet2.png\0"
  263.     .align 32
  264. LC6:
  265.     .ascii "hhh/images/status/tux_helmet1.png\0"
  266. LC5:
  267.     .ascii "hhh/images/alpha.png\0"
  268. LC4:
  269.     .ascii "hhh/images/status/nbs.png\0"
  270.     .align 32
  271. LC3:
  272.     .ascii "hhh/images/status/tux4kids.png\0"
  273. LC2:
  274.     .ascii "hhh/images/status/title.png\0"
  275. LC1:
  276.     .ascii "hhh/images/status/loading.png\0"
  277. LC0:
  278.     .ascii "hhh/images/status/standby.png\0"
  279. .data
  280. _operchars:
  281.     .ascii "+-*/"
  282.     .align 4
  283. _oper_opts:
  284.     .long LC73
  285.     .long LC74
  286.     .long LC75
  287.     .long LC76
  288. .text
  289. LC76:
  290.     .ascii "divide\0"
  291. LC75:
  292.     .ascii "multiply\0"
  293. LC74:
  294.     .ascii "subtract\0"
  295. LC73:
  296.     .ascii "add\0"
  297. .data
  298.     .align 4
  299. _sound_filenames:
  300.     .long LC77
  301.     .long LC78
  302.     .long LC79
  303.     .long LC80
  304.     .long LC81
  305.     .long LC82
  306.     .long LC83
  307. .text
  308. LC83:
  309.     .ascii "hhh/sounds/click.wav\0"
  310. LC82:
  311.     .ascii "hhh/sounds/explosion.wav\0"
  312. LC81:
  313.     .ascii "hhh/sounds/shieldsdown.wav\0"
  314. LC80:
  315.     .ascii "hhh/sounds/alarm.wav\0"
  316. LC79:
  317.     .ascii "hhh/sounds/buzz.wav\0"
  318. LC78:
  319.     .ascii "hhh/sounds/laser.wav\0"
  320. LC77:
  321.     .ascii "hhh/sounds/pop.wav\0"
  322. .data
  323.     .align 4
  324. _music_filenames:
  325.     .long LC84
  326.     .long LC85
  327.     .long LC86
  328. .text
  329. LC86:
  330.     .ascii "hhh/sounds/game3.mod\0"
  331. LC85:
  332.     .ascii "hhh/sounds/game2.mod\0"
  333. LC84:
  334.     .ascii "hhh/sounds/game.mod\0"
  335.     .align 4
  336. .globl _title
  337.     .def    _title;    .scl    2;    .type    32;    .endef
  338. _title:
  339.     pushl %ebp
  340.     movl %esp,%ebp
  341.     subl $132,%esp
  342.     pushl %ebx
  343.     movl $0,-28(%ebp)
  344.     movl $0,-4(%ebp)
  345.     .align 4
  346. L3:
  347.     cmpl $3,-4(%ebp)
  348.     jle L6
  349.     jmp L4
  350.     .align 4
  351. L6:
  352.     movl -4(%ebp),%eax
  353.     addl $9,%eax
  354.     leal 0(,%eax,4),%edx
  355.     movl $_images,%eax
  356.     movl (%edx,%eax),%edx
  357.     movl 8(%edx),%eax
  358.     cmpl -28(%ebp),%eax
  359.     jle L5
  360.     movl -4(%ebp),%eax
  361.     addl $9,%eax
  362.     leal 0(,%eax,4),%edx
  363.     movl $_images,%eax
  364.     movl (%edx,%eax),%edx
  365.     movl 8(%edx),%eax
  366.     movl %eax,-28(%ebp)
  367. L7:
  368. L5:
  369.     incl -4(%ebp)
  370.     jmp L3
  371.     .align 4
  372. L4:
  373.     movl _images+24,%eax
  374.     movl 8(%eax),%edx
  375.     addl $8,%edx
  376.     movl -28(%ebp),%eax
  377.     addl %edx,%eax
  378.     movl %eax,-36(%ebp)
  379.     movl _screen,%eax
  380.     movl 8(%eax),%edx
  381.     movl -36(%ebp),%ecx
  382.     movl %edx,%eax
  383.     subl %ecx,%eax
  384.     cltd
  385.     movl %edx,%ecx
  386.     shrl $31,%ecx
  387.     addl %ecx,%eax
  388.     movl %eax,%edx
  389.     sarl $1,%edx
  390.     movl %edx,-32(%ebp)
  391.     addl $-4,%esp
  392.     pushl $0
  393.     pushl $0
  394.     pushl $0
  395.     movl _screen,%eax
  396.     movl 4(%eax),%edx
  397.     pushl %edx
  398.     call _SDL_MapRGB
  399.     addl $16,%esp
  400.     movl %eax,%eax
  401.     pushl %eax
  402.     pushl $0
  403.     movl _screen,%eax
  404.     pushl %eax
  405.     call _SDL_FillRect
  406.     addl $16,%esp
  407.     movl _screen,%eax
  408.     movl _images+8,%edx
  409.     movl 8(%eax),%eax
  410.     movl 8(%edx),%edx
  411.     subl %edx,%eax
  412.     cltd
  413.     movl %edx,%ecx
  414.     shrl $31,%ecx
  415.     leal (%ecx,%eax),%edx
  416.     movl %edx,%eax
  417.     sarl $1,%eax
  418.     movw %ax,-48(%ebp)
  419.     movw $0,-46(%ebp)
  420.     movl _images+8,%eax
  421.     movzwl 8(%eax),%edx
  422.     movw %dx,-44(%ebp)
  423.     movl _images+8,%eax
  424.     movzwl 12(%eax),%edx
  425.     movw %dx,-42(%ebp)
  426.     leal -48(%ebp),%eax
  427.     pushl %eax
  428.     movl _screen,%eax
  429.     pushl %eax
  430.     pushl $0
  431.     movl _images+8,%eax
  432.     pushl %eax
  433.     call _SDL_UpperBlit
  434.     addl $16,%esp
  435.     movl _screen,%eax
  436.     movl _images+20,%edx
  437.     movl 8(%eax),%eax
  438.     movl 8(%edx),%edx
  439.     subl %edx,%eax
  440.     cltd
  441.     movl %edx,%ecx
  442.     shrl $31,%ecx
  443.     leal (%ecx,%eax),%edx
  444.     movl %edx,%eax
  445.     sarl $1,%eax
  446.     movw %ax,-48(%ebp)
  447.     movw $0,-46(%ebp)
  448.     movl _images+20,%eax
  449.     movzwl 8(%eax),%edx
  450.     movw %dx,-44(%ebp)
  451.     movl _images+20,%eax
  452.     movzwl 12(%eax),%edx
  453.     movw %dx,-42(%ebp)
  454.     leal -48(%ebp),%eax
  455.     pushl %eax
  456.     movl _screen,%eax
  457.     pushl %eax
  458.     pushl $0
  459.     movl _images+20,%eax
  460.     pushl %eax
  461.     call _SDL_UpperBlit
  462.     addl $16,%esp
  463.     movl $4,-4(%ebp)
  464.     .align 4
  465. L8:
  466.     cmpl $0,-4(%ebp)
  467.     jge L11
  468.     jmp L9
  469.     .align 4
  470. L11:
  471.     movl -4(%ebp),%eax
  472.     addl $-4,%eax
  473.     movl -32(%ebp),%ecx
  474.     subl %eax,%ecx
  475.     movw %cx,-48(%ebp)
  476.     movl _images+8,%eax
  477.     movl -4(%ebp),%edx
  478.     addl $-6,%edx
  479.     movzwl 12(%eax),%ebx
  480.     subl %edx,%ebx
  481.     movw %bx,-46(%ebp)
  482.     movl -4(%ebp),%eax
  483.     movl %eax,%edx
  484.     leal (%edx,%edx),%eax
  485.     movl -36(%ebp),%edx
  486.     addl %eax,%edx
  487.     movw %dx,-44(%ebp)
  488.     movl _images+24,%eax
  489.     movl 12(%eax),%edx
  490.     movl %edx,%eax
  491.     leal 0(,%eax,4),%edx
  492.     leal 2(%edx),%eax
  493.     movl -4(%ebp),%edx
  494.     movl %edx,%ecx
  495.     leal (%ecx,%ecx),%edx
  496.     movl %eax,%ecx
  497.     addl %edx,%ecx
  498.     movw %cx,-42(%ebp)
  499.     addl $-4,%esp
  500.     movl -4(%ebp),%eax
  501.     movl %eax,%edx
  502.     movl %edx,%eax
  503.     sall $5,%eax
  504.     movb %al,%dl
  505.     movl $-1,%ecx
  506.     movl %ecx,%eax
  507.     subl %edx,%eax
  508.     movzbl %al,%edx
  509.     pushl %edx
  510.     movl -4(%ebp),%eax
  511.     movl %eax,%edx
  512.     movl %edx,%eax
  513.     sall $5,%eax
  514.     movb %al,%dl
  515.     movl $-24,%ecx
  516.     movl %ecx,%eax
  517.     subl %edx,%eax
  518.     movzbl %al,%edx
  519.     pushl %edx
  520.     movl -4(%ebp),%eax
  521.     movl %eax,%edx
  522.     movl %edx,%eax
  523.     sall $5,%eax
  524.     movb %al,%dl
  525.     movl $-56,%ecx
  526.     movl %ecx,%eax
  527.     subl %edx,%eax
  528.     movzbl %al,%edx
  529.     pushl %edx
  530.     movl _screen,%eax
  531.     movl 4(%eax),%edx
  532.     pushl %edx
  533.     call _SDL_MapRGB
  534.     addl $16,%esp
  535.     movl %eax,%eax
  536.     pushl %eax
  537.     leal -48(%ebp),%eax
  538.     pushl %eax
  539.     movl _screen,%eax
  540.     pushl %eax
  541.     call _SDL_FillRect
  542.     addl $16,%esp
  543. L10:
  544.     decl -4(%ebp)
  545.     jmp L8
  546.     .align 4
  547. L9:
  548.     nop
  549.     movl $0,-4(%ebp)
  550.     .align 4
  551. L12:
  552.     cmpl $3,-4(%ebp)
  553.     jle L15
  554.     jmp L13
  555.     .align 4
  556. L15:
  557.     movl _images+24,%eax
  558.     movl -32(%ebp),%edx
  559.     movzwl 8(%eax),%ecx
  560.     leal (%ecx,%edx),%eax
  561.     movl %eax,%ebx
  562.     addl $4,%ebx
  563.     movw %bx,-48(%ebp)
  564.     movl _images+8,%eax
  565.     movl _images+24,%edx
  566.     movl -4(%ebp),%ecx
  567.     imull 12(%edx),%ecx
  568.     leal 8(%ecx),%edx
  569.     movzwl 12(%eax),%ecx
  570.     addl %edx,%ecx
  571.     movw %cx,-46(%ebp)
  572.     movl _images+24,%eax
  573.     movzwl 8(%eax),%edx
  574.     movw %dx,-44(%ebp)
  575.     movl _images+24,%eax
  576.     movzwl 12(%eax),%edx
  577.     movw %dx,-42(%ebp)
  578.     leal -48(%ebp),%eax
  579.     pushl %eax
  580.     movl _screen,%eax
  581.     pushl %eax
  582.     pushl $0
  583.     movl -4(%ebp),%eax
  584.     addl $9,%eax
  585.     leal 0(,%eax,4),%edx
  586.     movl $_images,%eax
  587.     movl (%edx,%eax),%edx
  588.     pushl %edx
  589.     call _SDL_UpperBlit
  590.     addl $16,%esp
  591. L14:
  592.     incl -4(%ebp)
  593.     jmp L12
  594.     .align 4
  595. L13:
  596.     movl _screen,%eax
  597.     movl _images+12,%edx
  598.     movzwl 8(%eax),%eax
  599.     movzwl 8(%edx),%edx
  600.     movl %eax,%ebx
  601.     subl %edx,%ebx
  602.     movw %bx,-48(%ebp)
  603.     movl _screen,%eax
  604.     movl _images+12,%edx
  605.     movzwl 12(%eax),%eax
  606.     movzwl 12(%edx),%edx
  607.     movl %eax,%ecx
  608.     subl %edx,%ecx
  609.     movw %cx,-46(%ebp)
  610.     movl _images+12,%eax
  611.     movzwl 8(%eax),%edx
  612.     movw %dx,-44(%ebp)
  613.     movl _images+12,%eax
  614.     movzwl 12(%eax),%edx
  615.     movw %dx,-42(%ebp)
  616.     leal -48(%ebp),%eax
  617.     pushl %eax
  618.     movl _screen,%eax
  619.     pushl %eax
  620.     pushl $0
  621.     movl _images+12,%eax
  622.     pushl %eax
  623.     call _SDL_UpperBlit
  624.     addl $16,%esp
  625.     movw $0,-48(%ebp)
  626.     movl _screen,%eax
  627.     movl _images+16,%edx
  628.     movzwl 12(%eax),%eax
  629.     movzwl 12(%edx),%edx
  630.     movl %eax,%ebx
  631.     subl %edx,%ebx
  632.     movw %bx,-46(%ebp)
  633.     movl _images+16,%eax
  634.     movzwl 8(%eax),%edx
  635.     movw %dx,-44(%ebp)
  636.     movl _images+16,%eax
  637.     movzwl 12(%eax),%edx
  638.     movw %dx,-42(%ebp)
  639.     leal -48(%ebp),%eax
  640.     pushl %eax
  641.     movl _screen,%eax
  642.     pushl %eax
  643.     pushl $0
  644.     movl _images+16,%eax
  645.     pushl %eax
  646.     call _SDL_UpperBlit
  647.     addl $16,%esp
  648.     cmpl $0,_demo_mode
  649.     je L16
  650.     movl _screen,%eax
  651.     movl _images+204,%edx
  652.     movl 8(%eax),%eax
  653.     movl 8(%edx),%edx
  654.     subl %edx,%eax
  655.     cltd
  656.     movl %edx,%ecx
  657.     shrl $31,%ecx
  658.     leal (%ecx,%eax),%edx
  659.     movl %edx,%eax
  660.     sarl $1,%eax
  661.     movw %ax,-48(%ebp)
  662.     movl _screen,%eax
  663.     movl _images+204,%edx
  664.     movzwl 12(%eax),%eax
  665.     movzwl 12(%edx),%edx
  666.     movl %eax,%ecx
  667.     subl %edx,%ecx
  668.     movw %cx,-46(%ebp)
  669.     movl _images+204,%eax
  670.     movzwl 8(%eax),%edx
  671.     movw %dx,-44(%ebp)
  672.     movl _images+204,%eax
  673.     movzwl 12(%eax),%edx
  674.     movw %dx,-42(%ebp)
  675.     leal -48(%ebp),%eax
  676.     pushl %eax
  677.     movl _screen,%eax
  678.     pushl %eax
  679.     pushl $0
  680.     movl _images+204,%eax
  681.     pushl %eax
  682.     call _SDL_UpperBlit
  683.     addl $16,%esp
  684. L16:
  685.     addl $-12,%esp
  686.     movl _screen,%eax
  687.     pushl %eax
  688.     call _SDL_Flip
  689.     addl $16,%esp
  690.     movl $0,-24(%ebp)
  691.     movl $0,-8(%ebp)
  692.     movl $0,-16(%ebp)
  693.     movl $150,-40(%ebp)
  694.     .align 4
  695. L17:
  696.     call _SDL_GetTicks
  697.     movl %eax,%eax
  698.     movl %eax,-84(%ebp)
  699.     movl -8(%ebp),%eax
  700.     movl %eax,-12(%ebp)
  701.     .align 4
  702. L20:
  703.     addl $-12,%esp
  704.     leal -80(%ebp),%eax
  705.     pushl %eax
  706.     call _SDL_PollEvent
  707.     addl $16,%esp
  708.     movl %eax,%eax
  709.     testl %eax,%eax
  710.     jg L22
  711.     jmp L21
  712.     .align 4
  713. L22:
  714.     cmpb $12,-80(%ebp)
  715.     jne L23
  716.     movl $3,-8(%ebp)
  717.     movl $1,-16(%ebp)
  718.     jmp L24
  719.     .align 4
  720. L23:
  721.     cmpb $2,-80(%ebp)
  722.     jne L25
  723.     movl -72(%ebp),%eax
  724.     movl %eax,-92(%ebp)
  725.     cmpl $27,-92(%ebp)
  726.     jne L26
  727.     movl $3,-8(%ebp)
  728.     movl $1,-16(%ebp)
  729.     jmp L27
  730.     .align 4
  731. L26:
  732.     cmpl $274,-92(%ebp)
  733.     jne L28
  734.     movl $150,-40(%ebp)
  735.     incl -8(%ebp)
  736.     cmpl $3,-8(%ebp)
  737.     jle L29
  738.     movl $3,-8(%ebp)
  739. L29:
  740.     jmp L27
  741.     .align 4
  742. L28:
  743.     cmpl $273,-92(%ebp)
  744.     jne L31
  745.     movl $150,-40(%ebp)
  746.     decl -8(%ebp)
  747.     cmpl $0,-8(%ebp)
  748.     jge L32
  749.     movl $0,-8(%ebp)
  750. L32:
  751.     jmp L27
  752.     .align 4
  753. L31:
  754.     cmpl $13,-92(%ebp)
  755.     jne L27
  756.     movl $1,-16(%ebp)
  757. L34:
  758. L33:
  759. L30:
  760. L27:
  761.     jmp L24
  762.     .align 4
  763. L25:
  764.     cmpb $5,-80(%ebp)
  765.     jne L24
  766.     movzwl -76(%ebp),%eax
  767.     cmpl -32(%ebp),%eax
  768.     jl L24
  769.     movzwl -76(%ebp),%eax
  770.     movl -32(%ebp),%edx
  771.     movl -36(%ebp),%ecx
  772.     addl %ecx,%edx
  773.     cmpl %edx,%eax
  774.     jg L24
  775.     movzwl -74(%ebp),%eax
  776.     movl _images+8,%edx
  777.     movl 12(%edx),%ecx
  778.     addl $8,%ecx
  779.     cmpl %ecx,%eax
  780.     jl L24
  781.     movzwl -74(%ebp),%eax
  782.     movl _images+8,%edx
  783.     movl _images+24,%ecx
  784.     movl 12(%ecx),%ebx
  785.     movl %ebx,%ecx
  786.     leal 0(,%ecx,4),%ebx
  787.     leal 8(%ebx),%ecx
  788.     movl 12(%edx),%ebx
  789.     leal (%ebx,%ecx),%edx
  790.     cmpl %edx,%eax
  791.     jg L24
  792.     movzwl -74(%ebp),%eax
  793.     leal -8(%eax),%edx
  794.     movl _images+8,%eax
  795.     subl 12(%eax),%edx
  796.     movl _images+24,%ecx
  797.     movl %edx,%eax
  798.     cltd
  799.     idivl 12(%ecx)
  800.     movl %eax,-8(%ebp)
  801.     movl $1,-16(%ebp)
  802. L37:
  803. L36:
  804. L35:
  805. L24:
  806.     jmp L20
  807.     .align 4
  808. L21:
  809.     movl -8(%ebp),%eax
  810.     cmpl -12(%ebp),%eax
  811.     je L38
  812.     movl $0,-24(%ebp)
  813.     movl -32(%ebp),%eax
  814.     addl $4,%eax
  815.     movw %ax,-48(%ebp)
  816.     movl _images+8,%eax
  817.     movl _images+24,%edx
  818.     movl -12(%ebp),%ecx
  819.     imull 12(%edx),%ecx
  820.     leal 8(%ecx),%edx
  821.     movzwl 12(%eax),%ecx
  822.     addl %edx,%ecx
  823.     movw %cx,-46(%ebp)
  824.     movl _images+24,%eax
  825.     movzwl 8(%eax),%edx
  826.     movw %dx,-44(%ebp)
  827.     movl _images+24,%eax
  828.     movzwl 12(%eax),%edx
  829.     movw %dx,-42(%ebp)
  830.     addl $-4,%esp
  831.     pushl $255
  832.     pushl $232
  833.     pushl $200
  834.     movl _screen,%eax
  835.     movl 4(%eax),%edx
  836.     pushl %edx
  837.     call _SDL_MapRGB
  838.     addl $16,%esp
  839.     movl %eax,%eax
  840.     pushl %eax
  841.     leal -48(%ebp),%eax
  842.     pushl %eax
  843.     movl _screen,%eax
  844.     pushl %eax
  845.     call _SDL_FillRect
  846.     addl $16,%esp
  847.     addl $-12,%esp
  848.     pushl $0
  849.     call _playsound
  850.     addl $16,%esp
  851. L38:
  852.     call _rand
  853.     movl %eax,-100(%ebp)
  854.     movl $1374389535,%ecx
  855.     movl -100(%ebp),%eax
  856.     imull %ecx
  857.     movl %edx,%ecx
  858.     sarl $4,%ecx
  859.     movl -100(%ebp),%edx
  860.     sarl $31,%edx
  861.     subl %edx,%ecx
  862.     movl %ecx,%edx
  863.     sall $2,%edx
  864.     addl %ecx,%edx
  865.     leal 0(,%edx,4),%ecx
  866.     addl %ecx,%edx
  867.     leal (%edx,%edx),%ecx
  868.     movl -100(%ebp),%eax
  869.     subl %ecx,%eax
  870.     testl %eax,%eax
  871.     jne L39
  872.     cmpl $0,-24(%ebp)
  873.     jne L39
  874.     movl $6,-24(%ebp)
  875. L39:
  876.     cmpl $0,-24(%ebp)
  877.     jle L40
  878.     decl -24(%ebp)
  879. L40:
  880.     movl -32(%ebp),%edx
  881.     addl $4,%edx
  882.     movw %dx,-48(%ebp)
  883.     movl _images+8,%eax
  884.     movl _images+24,%edx
  885.     movl -8(%ebp),%ecx
  886.     imull 12(%edx),%ecx
  887.     leal 8(%ecx),%edx
  888.     movzwl 12(%eax),%ecx
  889.     addl %edx,%ecx
  890.     movw %cx,-46(%ebp)
  891.     movl _images+24,%eax
  892.     movzwl 8(%eax),%edx
  893.     movw %dx,-44(%ebp)
  894.     movl _images+24,%eax
  895.     movzwl 12(%eax),%edx
  896.     movw %dx,-42(%ebp)
  897.     movl $6,-20(%ebp)
  898.     cmpl $3,-24(%ebp)
  899.     jg L42
  900.     cmpl $0,-24(%ebp)
  901.     jle L41
  902.     cmpl $1,-24(%ebp)
  903.     jle L42
  904.     jmp L41
  905.     .align 4
  906. L42:
  907.     movl $7,-20(%ebp)
  908.     jmp L43
  909.     .align 4
  910. L41:
  911.     cmpl $1,-24(%ebp)
  912.     jle L43
  913.     cmpl $3,-24(%ebp)
  914.     jg L43
  915.     movl $8,-20(%ebp)
  916. L44:
  917. L43:
  918.     leal -48(%ebp),%eax
  919.     pushl %eax
  920.     movl _screen,%eax
  921.     pushl %eax
  922.     pushl $0
  923.     movl -20(%ebp),%eax
  924.     movl %eax,%edx
  925.     leal 0(,%edx,4),%eax
  926.     movl $_images,%edx
  927.     movl (%eax,%edx),%eax
  928.     pushl %eax
  929.     call _SDL_UpperBlit
  930.     addl $16,%esp
  931.     addl $-12,%esp
  932.     movl _screen,%eax
  933.     pushl %eax
  934.     call _SDL_Flip
  935.     addl $16,%esp
  936.     cmpl $0,_demo_mode
  937.     je L45
  938.     decl -40(%ebp)
  939.     cmpl $0,-40(%ebp)
  940.     jne L45
  941.     movl $0,-8(%ebp)
  942.     movl $1,-16(%ebp)
  943. L46:
  944. L45:
  945.     call _SDL_GetTicks
  946.     movl %eax,%eax
  947.     movl %eax,-88(%ebp)
  948.     movl -84(%ebp),%eax
  949.     addl $50,%eax
  950.     cmpl %eax,-88(%ebp)
  951.     jae L19
  952.     addl $-12,%esp
  953.     movl -88(%ebp),%eax
  954.     addl $-50,%eax
  955.     movl -84(%ebp),%edx
  956.     subl %eax,%edx
  957.     pushl %edx
  958.     call _SDL_Delay
  959.     addl $16,%esp
  960. L47:
  961. L19:
  962.     cmpl $0,-16(%ebp)
  963.     je L48
  964.     jmp L18
  965.     .align 4
  966. L48:
  967.     jmp L17
  968.     .align 4
  969. L18:
  970.     movl -8(%ebp),%edx
  971.     movl %edx,%eax
  972.     jmp L2
  973.     .align 4
  974. L2:
  975.     movl -136(%ebp),%ebx
  976.     leave
  977.     ret
  978.     .def    _rand;    .scl    2;    .type    32;    .endef
  979.     .def    _playsound;    .scl    2;    .type    32;    .endef
  980.